23

» WarCraft 3 / Угол крена

Похожие вопросы:

ответ
Ставить -90, через SHIFT+Enter
ответ
SetUnitLookAt
вращаешь нужную кость на посмотреть выше себя по оси Z

23

» WarCraft 3 / Читы

Похожие вопросы:

ответ
D4rkof, отлавливать чит по косвенным признакам
если чит был введён то убирать действие чита с помощью повторного ввода или завершать игру
ответ
Steal nerves:
Как можно конвертировать триггер в jass в WE?
Эх... Странные вопросы задаешь. Выделяешь/выбираешь тригггер, жмешь правка - конвентировать в текст
А про последствия не понял, разве бой своего юнита с чужим не есть отслеживание последствий?
отпечатка, случайно написал не. Да это последствие. По-другому никак.
Вот самый простой вариант от неуязвимости и всемогущества whosyourdaddy, который переводится как "кто твой папочка":
  1. Создаешь юнита в РО, так сказать будет куклой для битья. Если она умрет, то значит ее убили нечестным образом.
  2. Юнита надо будет отредактировать
  3. Делаем куклу незаметной. Так сказать нужно скрыть.Удаляешь у нее модель, потом скрываешь отображение на мини-карте (характеристики - скрыть мини-карту).
  4. Если это рабочий то выключить у него классификация - работник. Иначе иконка будет отображаться в игре.
  5. Делаешь так чтобы не мог атаковать, короче полностью отключаешь атаку (бои - атаки - нет)
  6. Делаешь его неподвижным, чтобы не убегал, когда его бьют
  7. Делаем неубиваемым. Реген. Скорость восстановления здоровья на максимум - 9999к. Запас здоровья тоже повыше (примечание: здоровье не должно быть слишком большим, а то ставил 9999к читом не мог убить, даже с 5000 хп,видимо из-за регена не умирал, поставил 1000). Затем можно дать невосприимчивость от магии, так сказать защитой от магии будет.
  8. даем способность москиты, так герой становится невыделяемый
  9. и убираем обзор видимости (характеристики - радиус обзора = 0 днем и ночью)
  10. создаем двух таких на карте, одного делаем вражеским (можно за нейтрально-враждебного), а другого за игрока
  11. создаем триггер, который будет наносить урон периодически от лица игрока, наносит 1 единицу урон. другой триггер ловит смерть
ответ
Короче: если ставить юнита, который относится к игроку, но самого игрока нет... То whosyourdaddy не будет работать на всех юнитах этого игрока.
ответ
Steal nerves:
Все работает. работает с специальными переменными, типа GetFilterUnit(). Вообще это условие, если это условие (фильтр) истинно, то этого юнита (GetFilterUnit), подходящего по условию, оставляет, а остальных отсеивает. У тебя, если условие истинно, выбирает всех. Мне кажется не работает. потому что радиус слишком маленький 90 - слишком маленький, едва ли кого выделишь. Надо еще дебагом проверять (выводи на экран) и проверяй кол-во юнитов в группе. Так написал, что не понятно, что тебе нужно. И вопрос закрыт? (закрой тему)
чтобы глобалки объявлять скачай jngp, подключи jasshelper (V jass)
в самом наверху триггера можно писать
globals
integer TTT = 0 //целочисленная
endglobals

23

» WarCraft 3 / Вопрос инкома

Похожие вопросы:

ответ
хотя ладно я сейчас добрый так что лови совет
вместо игрок 1 используй владелец выбранного юнита
и вместо того чтобы сразу добавлять ресурсы заноси их в переменную
и добавляй в конце
Nosferoh, сори но то что ты сказал это не оптимально
зачем усложнять ?

23

» WarCraft 3 / Проверка включенного триггера используя триггеры

Похожие вопросы:

ответ
Если в триггере много действий, загружающих память, то лучше не использовать малый период. А если в нём ещё утечки памяти, то рано или поздно лаги сделают игру невозможной.
По сути, и таймер, и периодическое событие запускают действия в определённое время, то есть действуют одинаково. Смотри, что тебе удобнее.

23

» WarCraft 3 / 1 защиты = 1% блока

Похожие вопросы:

ответ
ClotPh, Движок знает во время завершения удара, будет промах или нет, сработает пассивка или нет, а ты нет, там не так все просто, так что триггерные аналоги изобретаем и усе.
ответ
Странное понимание механики. Не бывает универсального лучшего способа, потому и существуют разные способы для конкретных ситуаций.
А экономить байты и такты процессора, заранее пользуясь интерпретируемым скриптовым языком, это вообще моветон.
Разве массив в WarCraft III не предынициализирует 8192 ячейки памяти (по Вашей формуле, в моём случае он потребляет 8192*4=32768 байт, то есть 32Кб)? Он ведь не динамический.
Нет, он динамический. Исходный размер при создании - 1024. И расширяется на 1024 ячейки по мере доступа вплоть до максимальных 8192.

23

» WarCraft 3 / Выбор героев

Похожие вопросы:

ответ
zlowar, проверять пикнут ли этот герой и если пикнут то запрещать другим игрокам его пикать
ответ
Ну как бы диологовые окна работают как как их сделали, раз вы сделали диалок для одного игрока то его и видит 1 игрок.
Диалоговое окно нужно показывать всем играющим игрокам, и создавать триггер (на гуях проще 1 кнопка=1 триггер который следит за кнопной) и по нажатию кнопки смотреть какой игрок нажал на кнопку и создавать для него необходимого персонажа.
ответ
Открой стандартную карту "Охотники" и посмотри там как сделать это, она на 4х игроков!
D:\Warcraft 3\Warcraft III\Maps\Scenario\(4)WarChasers.w3m

23

» WarCraft 3 / Покупка спелов

Похожие вопросы:

ответ
Сделай плюсик в качестве способности-пустышки.
При её использовании создавай/выделяй юнита-пустышку, у которого есть способности-пустышки, соответствующие способностям героя.
При использовании этих пустышек будет прокачиваться способность героя.
Идея ясна?
ответ
в чем редактор вкв3 отличается от редактора ск2 - к сожалению, в вк3-шном эдиторе не удастся отловить все данные.
если ты скажешь, что конкретно делает твой спелл, тебе могут подсказать более легкий вариант исполнения
насчет спецэффектов - утечка решается просто
  1. создаешь точку, если спец на земле. если спец на юните, точка не требуется.
  2. собсно воспроизводишь спец
  3. и сразу его удаляешь. спец удалится тогда, когда доиграет до конца его анимация
  4. кастом скриптом удаляешь точку, если 1 часть 1 пункта актуальна

23

» WarCraft 3 / Строчка

Похожие вопросы:

ответ
статьи в помощь
на крайняк пиши свой аи на джасс
ответ
нужно занести все доступные здания в бд аи
подробнее в статьях
ответ
ответ
Все. Я нашел. Оказывается, изменить место расположения иконки можно и без файла "Units/CommandFunc.txt". Просто в способностях можно изменить.

23

» WarCraft 3 / Оплетение рудника

Похожие вопросы:

ответ
К руднику нужны нестандартные способности с участием "того самого" светляка.
ответ
оплетение рудника происходит методом замены объекта рудника на объект оплетённого рудника, никто не запрещает делать это вручную.
ответ
Через что уничтожаешь? Если через килл, то конечно умирает и нейтральный.
  1. Если наносить от какого-то даммика урон в мильены, то не умрет нейтральный.
  2. Можно от даммика развеяние нежити за 0.01 сек.
  3. Заменять можно, внося значение золота в переменную и потом, создавая новый рудник, ставить количество золота в него из переменной, благо это даже в ГУИ реализовано.
ответ
Ikobot:
Можно сделать способность на основе "превращения в зомби" с передачей контроля игроку. И сделать дамми работников, которые будут в невидимости таскать золото, в зависимости от кол-во рабов на борту рудника.
Можно сделать невидимое "Древо Жизни" которое привязано к зданию и живет до тех пор, пока живет главное здание, главное связать здания триггерно.
Я придумал закинуть пустить корни в книгу заклинаний и заблокировал ее, в вобщем оплетение работает, сейчас другая проблема в другом вопросе))

23

» WarCraft 3 / Рандом выбор .

Похожие вопросы:

ответ
GF RaiseD:
На сайте имеется статья. Если же тебя интересует как сделать чтобы эти расы можно было выбирать в меню игры, а не непосредственно в игре - ищи в гугле [Warcraft 3 Nirvana Mod]. Отвечая на вопрос: возможно.

23

» WarCraft 3 / Массивы

Похожие вопросы:

ответ
Local integer i = случайное число от 1 до 3
Local integer h = случайное число от 1 до 3
Local integer j = 0
Local integer k = взять кол-во юнитов в области locations[h]
Local location p
If k < 1 then
Set p = GetRectCenter( locations[h] )
Call createUnitAtLoc( buildings[i], player(0), p )
Loop
Exitwhen j > 3
Call createUnitAtLoc( units[i], player(0), p )
Set j = j + 1
Endloop
Call removeLocation(p)
Set p = null
Endif
Пишу с телефона, поэтому в карту заноси это сам
ответ
Это число обозначает, сколько элементов массива заполняется в начале игры значением по умолчанию. Настоящий размер массива всегда 8192.
Т.е. если ты ставишь "Раз. 3" и "Нач. знач. 1", то первые 3 элемента массива будут равны 1, а значение следующих будет неопределенным.
ответ
Чето совершенно непонятно что вам нужно, найти тот таймер и его индекс в массиве, который истек и запустил триггер?
Ну очень просто , перебором в цикле всех таймеров и смотреть кто истек, тот кто истек того индекс вы и получите, считая шаги цикла.
В чем проблема?.
(100+ таймеров и массив по мне идиотия, неужели нельзя было воспользоваться хештаблицей и создавать\удалять таймеры по мере надобности)
ответ
надо писать
effect array eff[5]
ответ
Самым эффективным решением будет периодический перенос юнита-инвентаря к герою, юниту можно дать boolean флаг "isSelected"

23

» WarCraft 3 / Нанесение урона

Похожие вопросы:

ответ
Полагаю, действия "группа игроков" - лишние. Просто пикай юнитов. И не в регионе, а в радиусе. Там должно быть действие "пикнуть юнитов в радиусе, которые соответствуют каким-то условиям". Вот в matching condition и проверяй "правильность" юнита.
ответ
на сколько я понял твой триггер срабатывает при получении урона определённым юнитом
и ты вызываешь в нём этот триггер
который наносит урон этому самому юниту
в результате опять срабатывает отлов урона
и опять наносится урон
и опять ...
в общем получается рекурсия и вар выкидывает из за переполнения стека
кстати почему бы не сделать отлов урона в 1 триггере?
ответ
Кастовать способности даммиком и отлавливать урон от него.
ответ
Как вариант, можно найти в системе действия, в которых триггерно наносится урон юниту (потеря жизней), и отлавливать уже оттуда.
ответ
Ghostly:
Hate, мне нужен рабочий вариант чтоб меняя свои данные я понял что влияет на работоспособность,а что нет.В твоей же я увидел цифры по 15сек думал атк и будет работать,а на деле только 9 сек рабочих.Напрашивается вывод где из всех тех цифр отвечающие за продолжительность. Может у кого есть уже наработка с хотами,дотами,периодическими событиями,киньте будьте добры,буду разбираться.
это и есть рабочий вариант, слов нет.
там урон наносится каждые 5 секунд в течении 15, если бы вы потратили хоть толику внимания на гребаные триггеры вы бы заметили цифры которые там есть
раз
два
три
читать умеем? считать умеем?

23

» WarCraft 3 / Строительство

Похожие вопросы:

ответ
Ну можно триггерно их "строить", когда нужно получать % их готовности.
Здание закладывать и паузить, триггерно увеличивать переменную и приравнивать в ней текущий % постройки.
Работоспособно.
ответ
Steal nerves:
Да. Сам id-приказ - равкод постройки (или тип постройки). У рабочего открывается меню строительства, выбираешь постройку, нажимаешь на иконку. Но ничего не происходит, так как надо еще для окончательного результата выбрать место строительства. Через событие "юнит - получил приказ (точка)" ловится приказ в тот момент, когда юнит получил приказ и побежал устанавливать основание. И точку приказа можно отследить.
ответ
Можно дать юниту какую-нить абилку и все время через Force UI Key заставлять игрока ее нажимать пока этот юнит выбран
И как только он эту абилку использует, значит меню закрыто
ответ
нет, скорее вшиты в коде, как заливка синим при нехватке маны

23

» WarCraft 3 / Стандартные способности

Похожие вопросы:

ответ
да
в движке вара
если найдёшь исходник вара
ответ
параметры способностей хранятся в slk таблицах в mpq архивах
параметры применения способностей хранятся в game.dll
ответ
Steal nerves:
В натуре баг такой? Проверил только что. Улучшение эльфам можно не делать на доспехи. Короче эльфы читеры
ответ
ии я очень сложный замутил 4х ступенчатый (не для босов)так как при строительстве его я думал что движок будет пулять спеллы,его придёться переписывать,но я нашел решение если за моба стоит комп то спелы во вкладке нейтрально посивные он будет юзать но не все главное условие чтобы был комп назначен
ответ
Сделай на основе берсерка и кидай сетку через созданного в позиции кастера даммика (невидимого юнита), даммика потом убираешь

23

» WarCraft 3 / Локальные

Похожие вопросы:

ответ
Решил проблему следующим путем: при несовпадении данных в Memory, заставляем читера выделить специального скрытого в тумане войны юнита, а в другом триггере по событии выделения пишем, что GetTriggerPlayer() - МХшник, и только потом кикаем его.
quq_CCCP:
Для бана нужна работа с хост ботом
Ты неправильно понял. Если люди по Гарене играют, то они должны знать, что игрок отключается по неуважительной причине, чтобы сразу его забанить и потом не париться с ним. Бан-то локальный в Гарене, не то что на хост-боте.
ответ
вот тебе пример моего кода, если что, спрашивай:
void Damage_Text() {
unit u1     = GetEventDamageSource(),u2=GetTriggerUnit()
real x      = GetRandomReal(GetUnitX(u2)-30,GetUnitX(u2)+30)
real y      = GetRandomReal(GetUnitY(u2)-30,GetUnitY(u2)+30)
real z      = GetRandomInt(30,70)
string text = I2S(R2I(GetEventDamage()))//переводим урон в строку
texttag tt  = CreateTextTag()
  if GetEventDamage()>0 and (IsUnitInGroup(u1,Pdmg) or IsUnitInGroup(u1,Sdmg)) then
    SetTextTagVisibility(tt,false)//делаем тексттег невидимым
    if IsUnitInGroup(u1,Crit) then
      text=Yellow+"!|r "+text
    endif
    SetTextTagText(tt,text,0.023)
    if GetLocalPlayer()==GetOwningPlayer(u1) then//делаем тексттег видимым локальным игрокам
      SetTextTagColor(tt,255,255,255,230)
      SetTextTagVisibility(tt,true)
    elseif GetLocalPlayer()==GetOwningPlayer(u2) then
      SetTextTagColor(tt,200,0,0,230)
      SetTextTagVisibility(tt,true)
    endif
    SetTextTagPos(tt,x,y,z)
    SetTextTagPermanent(tt,false)
    SetTextTagVelocityBJ(tt,50,90)
    SetTextTagFadepoint(tt,0.5)
    SetTextTagLifespan(tt,1)
  endif
tt=null
u2=null
u1=null
ответ
Если память не изменяет
location

23

» WarCraft 3 / Способность

Похожие вопросы:

ответ
Когда юнит проучивает пассивку, добавляй в группу юнита, который выучил пассивку. Дальше все просто -
Юнит умирает
Киллинг юнит в нашей группе - да
Дайинг юнит не в команде владельца киллинг юнит.
Игрок - адд проперти - 500 золото (овнер оф киллинг юнит)
ответ
Сделай на основе берсерка и кидай сетку через созданного в позиции кастера даммика (невидимого юнита), даммика потом убираешь
ответ
XGM Bot:
Похожие вопросы:

ответ
ИИ написать, сами скиллы юзают тока крипы подконтрольные ИИ - к примеру нейтральновраждебные.
Так же можно юзать скилл - Сфера замедления, это орб эффект который срабатывая накладывает на цель атаки указанный в его настройках скилл, подойдет для карт типа Castle Fight.
ответ
ИИ чтоли не кастует? Сделай триггерный каст, Событие - юнит обнаружил цель в пределах досягаемости, проглотить не в кулдауне и цель неуязвимый враг, пойти и проглотить юнита...
ответ
Fireproof, попробуй в РО у юнита поменять "Графика - Анимация - обратный ход броска" и "Графика - Анимация - точка броска" на 0. Правда, это уберёт время каста для всех умений у этого юнита.
ответ
Ну тебе нужно чтобы был прямо таки бафф который можно рассеивать?
Для начала сделай способность, и баф на основе какой нибудь пустышки, подойдет ярость у некромантов, так же переодический триггер который раз в пол секунды проверяет всех юнитов в группе, есть ли у них бафф если юнит мертв или у него нет баффа, то у юнита удаляется способность на доп урон зданиям и сам унит удаляется из группы.
При касте твоим шаманов заклинания на цель, ты добавляешь цель заклинания в группу, которую и перебирает описанный выше триггер.
Надеюсь понятно?
ответ
datar1231, Именно поэтому говорят не делать 2 две способности от друга потому когда юнита приходит приказ на использование способности он использует твою нестандартную способность но основываясь на айди стандартной способности или делай на основе другой или незанаю подействует ли канал.


23

» WarCraft 3 / Проиграть анимацию

Похожие вопросы:

ответ
Иллюзии недо-юниты, они не могут использовать активки и предметы, лишь некоторые пассивки работают у иллюзий ( втом. числе и те что добавили триггерно).
Иллюзий найти плевое дело, есть проверка IsUnitIllision а так же событие Юнит призвал вызванное существо, ибо все иллюзии суммоны от конкретных способностей, создать иллюзию триггерно, без способности и юнита не получится...
Если вам нужны именно клоны героя (как арк варден в доте или мипо) то вам нужно создавать героя, обнулять у него все лишнее (вроде отображать как героя на карте команд, скрыть сообщение о гибели), так же необходимо триггерное слежение за такой иллюзией.
ответ
у Сларка это даммик, который двигается вместе с ним, и потом ремувится
у Баланара - лопается, когда день наступает... присмотришь получше
ответ
Astra:
Скорее всего в триггере стоит локальный игрок красного цвета. Скрин в студию
Во время инициализации карты в стартовой позиции игрока создается 1 висп.
Заменил триггер на другой, все заработало.
molot39:
Может проще будет после постройки здания сделать reset animation - на trigger unit
Увы, не работает.
Одним словом, я просто взял модель виспа, удалил у него все анимации, кроме stand, импортировал в карту, прописав путь к файлу, как к файлу модели оригинального виспа.
ответ
Отлавливать улучшение и делать триггерную анимацию. Способов достаточно много и без редактирования модели.
ответ
Без работы над памятью - никак. итемы не имеют подобных функций, доступных картоделу

23

» WarCraft 3 / незанятый рабочий

Похожие вопросы:

ответ
Никак.
Хотя если рыть очень глубоко с шрифтами, то возможно одна из категорий шрифта отвечает за эту циферку. Если повезёт - она при этом не будет отвечать ни за какие другие экранные шрифты в игре. Заменить шрифт в этой категории на малюсенький или бесцветный какой-нить - вот и удалили циферку. Как менять щрифт в карте отдельная статья.
ответ
Никого не слушай учись на картах близов, там есть все.
Смотри как устроены модели, эфекты и текстуры, особенно ланшафт, только не смотри как устроены здания как декорации(построение города), там фантазия их подвела.

23

» WarCraft 3 / Нужна моделька.

Похожие вопросы:

ответ
Начнём с того, что нужно было обратиться сюда: xgm.guru/p/wc3/needmodels#lastpost
А сделать я мог бы и сам, но сейчас не могу.
ответ
исправил ресурс
ответ
Ну, во - первых, есть вот этот пак: xgm.guru/p/wowmodels/winterdoodads
если не подходит, импортируй текстуру, которую я делал для одной карты и задай ей путь в менеджере импорта textures\Ruins_PlantLife.blp и перезагрузи карту, она заменит стандартные модельки кустов, грибов и лозы на "зимние". Текстуру прилагаю.
ответ
Вот в эту тему, пожалуйста: xgm.guru/p/wc3/needmodels
ответ
Steal nerves:
Модель стандартная?
раскрыть
раскрыть
не работает когда руну берешь? делал по этой статье xgm.guru/p/wc3/powerups
короче эффект не срабатывает из-за этого